﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using EntGuayasSLA.BL.Listas;
using EntGuayasSLA.BL.Listas.Criterias;
using Ext.Net;
using EntGuayasSLA.BL;

namespace EGuayas.Web.Auditoria.Admin.Monitoreo
{
    public partial class pgAdmAM : pgBase
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try{
            if (!X.IsAjaxRequest)
            {
             
                var provinciaList = ProvinciaLista.GetProvinciaLista();
                stoProvincia.DataSource = provinciaList;
                stoProvincia.DataBind();
                this.btnNuevaAC.Disable();
            }
            }
            catch (Exception ex)
            {
                RegistrarLog(ex);
            }
        }
        protected void btnBuscar_Click(object sender, DirectEventArgs e)
        {
            try
            {
                var criterioBusqueda = ExpedienteCriteria.NewExpedienteCriteria();
                criterioBusqueda.ProvinciaId = e.ExtraParams["ProvinciaId"];
                criterioBusqueda.CantonId = e.ExtraParams["CantonId"];
                criterioBusqueda.ParroquiaId = e.ExtraParams["ParroquiaId"];
                criterioBusqueda.Codigo = e.ExtraParams["Codigo"];
                criterioBusqueda.Nombre = e.ExtraParams["Nombre"];
                var expedientesAuditoria = AuditoriaLista.GetAuditoriaLista(criterioBusqueda);
                stoExpedienteAud.DataSource = expedientesAuditoria;
                stoExpedienteAud.DataBind();
                this.btnNuevaAC.Disable();
            }
            catch (Exception ex)
            {
                RegistrarLog(ex);
            }
        }
        protected void cbbProvincia_Select(object sender, DirectEventArgs e)
        {
            try
            {
                var cantonList = CantonLista.GetCantonLista(e.ExtraParams["Id"]);
                cbbCanton.Reset();
                cbbParroquia.Reset();
                stoParroquia.RemoveAll();
                stoCanton.DataSource = cantonList;
                stoCanton.DataBind();
            }
            catch (Exception ex)
            {
                RegistrarLog(ex);
            }
        }
        protected void cbbCanton_Select(object sender, DirectEventArgs e)
        {
            try
            {
                var parroquiaList = ParroquiaLista.GetParroquiaLista(e.ExtraParams["Id"]);
                cbbParroquia.Reset();
                stoParroquia.DataSource = parroquiaList;
                stoParroquia.DataBind();
            }
            catch (Exception ex)
            {
                RegistrarLog(ex);
            }
        }
        protected void gpnAuditoria_Select(object sender, DirectEventArgs e)
        {
            try
            {
                var id = e.ExtraParams["Id"];
                DataBindAuditoriaMonitoreo(id);
               this.btnNuevaAC.Enable();
            }
            catch (Exception ex)
            {
                RegistrarLog(ex);
            }
        }
        [DirectMethod(ShowMask = true)]
        public void DataBindAuditoriaMonitoreo(string id)
        {
            try
            {
                var listadoAC = AuditoriaMonitoreoLista.GetAuditoriaMonitoreoLista(id);
                stoAM.DataSource = listadoAC;
                stoAM.DataBind();
                
            }
            catch (Exception ex)
            {
                RegistrarLog(ex);
            }
        }
    }
}